import dayjs from 'dayjs';

export function getCurrentTerm(date = new Date()) {
  const currentDate = dayjs(date);
  const year = currentDate.year();
  const month = currentDate.month() + 1; // dayjs 月份从 0 开始

  const yesterday = currentDate.subtract(1, 'day');

  // 春季学期：3月1日 - 7月1日
  // 秋季学期：9月1日 - 次年1月1日
  if (month >= 3 && month <= 7) {
    // 春季学期
    return {
      startDate: `${year}-3-1`,
      endDate: `${year}-7-1`,
      termName: `${year}年春季学期`,
      yesterdayDate: yesterday.format('YYYY-MM-DD'),
    };
  } else if (month >= 9) {
    // 秋季学期（当年9月开始）
    return {
      startDate: `${year}/9/1`,
      endDate: `${year + 1}/1/1`,
      termName: `${year}年秋季学期`,
      yesterdayDate: yesterday.format('YYYY-MM-DD'),
    };
  } else if (month <= 1) {
    // 秋季学期（前一年9月开始的学期）
    return {
      startDate: `${year - 1}-9-1`,
      endDate: `${year}-1-1`,
      termName: `${year - 1}年秋季学期`,
      yesterdayDate: yesterday.format('YYYY-MM-DD'),
    };
  } else {
    // 2月属于寒假，归入上一年秋季学期
    return {
      startDate: `${year - 1}-9-1`,
      endDate: `${year}-1-1`,
      termName: `${year - 1}年秋季学期`,
      yesterdayDate: yesterday.format('YYYY-MM-DD'),
    };
  }
}

// 格式化日期范围为显示文本
export function formatTermRange(startDate, endDate) {
  return `${dayjs(startDate).format('YYYY-MM-DD')} 至 ${dayjs(endDate).format(
    'YYYY-MM-DD',
  )}`;
} 